08ca7b
@@ -1418,7 +1418,7 @@
private void generateFilterColumnBetweenDynamicValue(String[] tdesc) throws Exce
       getValueMethod = "";
       conversionMethod = "";
     } else if (operandType.equals("decimal")) {
-      defaultValue = "null";
+      defaultValue = "HiveDecimal.ZERO";
       vectorType = "HiveDecimal";
       getPrimitiveMethod = "getHiveDecimal";
       getValueMethod = "";
@@ -1430,13 +1430,13 @@
private void generateFilterColumnBetweenDynamicValue(String[] tdesc) throws Exce
       getValueMethod = ".getBytes()";
       conversionMethod = "";
     } else if (operandType.equals("char")) {
-      defaultValue = "null";
+      defaultValue = "new HiveChar(\"\", 1)";
       vectorType = "byte[]";
       getPrimitiveMethod = "getHiveChar";
       getValueMethod = ".getStrippedValue().getBytes()";  // Does vectorization use stripped char values?
       conversionMethod = "";
     } else if (operandType.equals("varchar")) {
-      defaultValue = "null";
+      defaultValue = "new HiveVarchar(\"\", 1)";
       vectorType = "byte[]";
       getPrimitiveMethod = "getHiveVarchar";
       getValueMethod = ".getValue().getBytes()";
@@ -1450,7 +1450,7 @@
private void generateFilterColumnBetweenDynamicValue(String[] tdesc) throws Exce
       // Special case - Date requires its own specific BetweenDynamicValue class, but derives from FilterLongColumnBetween
       typeName = "Long";
     } else if (operandType.equals("timestamp")) {
-      defaultValue = "null";
+      defaultValue = "new Timestamp(0)";
       vectorType = "Timestamp";
       getPrimitiveMethod = "getTimestamp";
       getValueMethod = "";
